package org.metasketch.demo.model;

import java.util.ArrayList;
import java.util.List;

import org.metasketch.model.CommonIdentified;
import org.metasketch.model.ModelPackage;

public class DEMOModel extends ModelPackage {

	List<TransactionKind> transactions = new ArrayList<TransactionKind>();

	List<ActorRole> actorRoles = new ArrayList<ActorRole>();

	List<OrganizationalFunction> organizationalFunctions = new ArrayList<OrganizationalFunction>();

	List<OrganizationalUnit> organizationUnits = new ArrayList<OrganizationalUnit>();

	List<CoordinationLink> coordinationLinks = new ArrayList<CoordinationLink>();

	public void addChild(CommonIdentified node) {
		super.addChild(node);

		if (node instanceof TransactionKind) {
			transactions.add((TransactionKind) node);
		} else if (node instanceof ActorRole) {
			actorRoles.add((ActorRole) node);
		} else if (node instanceof OrganizationalFunction) {
			organizationalFunctions.add((OrganizationalFunction) node);
		} else if (node instanceof OrganizationalUnit) {
			organizationUnits.add((OrganizationalUnit) node);
		} else if (node instanceof CoordinationLink) {
			coordinationLinks.add((CoordinationLink) node);
		}

	}

	public List<TransactionKind> getTransactions() {
		return transactions;
	}

	public void setTransactions(List<TransactionKind> transactions) {
		this.transactions = transactions;
	}

	public List<ActorRole> getActorRoles() {
		return actorRoles;
	}

	public void setActorRoles(List<ActorRole> actorRoles) {
		this.actorRoles = actorRoles;
	}

	public List<OrganizationalFunction> getOrganizationalFunctions() {
		return organizationalFunctions;
	}

	public void setOrganizationalFunctions(
			List<OrganizationalFunction> organizationalFunctions) {
		this.organizationalFunctions = organizationalFunctions;
	}

	public List<OrganizationalUnit> getOrganizationUnits() {
		return organizationUnits;
	}

	public void setOrganizationUnits(List<OrganizationalUnit> organizationUnits) {
		this.organizationUnits = organizationUnits;
	}

	public List<CoordinationLink> getCoordinationLinks() {
		return coordinationLinks;
	}

	public void setCoordinationLinks(List<CoordinationLink> coordinationLinks) {
		this.coordinationLinks = coordinationLinks;
	}

}
